/**
 * 安卓白金英雄坛制作组 <br>
 * 文件名：GmudRestUrl.java <br>
 * 创建时间：2015年4月30日 下午8:37:12 <br>
 * 所属项目：GmudEX <br>
 * @author 12548
 */
package lostland.general.network;

/**
 * 类名：GmudRestUrl <br>
 * 说明：
 *
 * @author 12548
 */
public class GmudRestUrl {

	private String url;

	private GmudRestUrl(String path) {
		url = "http://gmud.sinaapp.com/" + path;
	}

	/**
	 * @return url
	 */
	public String getUrl() {
		return url;
	}


	/**
	 * <h1>REST：获取当前可用的擂台列表。</h1>
	 * 需要参数：无 <br>
	 * 响应：json对象，
	 * 'state'项可能是'error','empty','ok'中的一种。
	 * 如果'state'为'ok'，则有'rooms'项，内为可用擂台数组。
	 */
	public static final GmudRestUrl GetRooms = new GmudRestUrl("Battle/Info/rooms");


	/**
	 * <h1>REST：在指定的擂台创建主机。</h1><br>
	 * 所需post参数：
	 * <ul>
	 * <li> mc 主机的角色。
	 * <li> svid 主机云存档ObjectId。
	 * <li> arena 要创建主机的擂台ObjectId。
	 * </ul>
	 * 响应JSON：
	 * <ul>
	 * <li> 'state' 项：字符串类型，可能为'error'或'ok'。
	 * <li> 'error' 项：字符串类型，在state为error时存在，为错误信息。
	 * <li> 'timestamp' 项：int类型，在state为ok时存在，为一个时间戳，用来查询之后的信息。
	 * <li> 'uuid' 项：字符串类型，在state为ok时存在，获取一个独特用户ID来在之后的操作中证明身份。
	 * <li> 'idstamp' 项：int类型，在state为ok时存在，为插入数据库的行id，用来查询之后的信息。
	 * </ul>
	 */
	public static final GmudRestUrl Host = new GmudRestUrl("Battle/Status/host");

	/**
	 * <h1>REST：加入指定的擂台的主机。</h1><br>
	 * 所需post参数：
	 * <ul>
	 * <li> mc 加入者的角色。
	 * <li> svid 加入者的云存档ObjectId。
	 * <li> arena 要加入主机的擂台ObjectId。
	 * </ul>
	 * 响应JSON：
	 * <ul>
	 * <li> 'state' 项：字符串类型，可能为'error'或'ok'。
	 * <li> 'error' 项：字符串类型，在state为error时存在，为错误信息。
	 * <li> 'timestamp' 项：int类型，在state为ok时存在，获取一个时间戳来查询之后的信息。
	 * <li> 'uuid' 项：字符串类型，在state为ok时存在，获取一个独特用户ID来在之后的操作中证明身份。
	 * <li> 'host_mc' 项：JsonObject类型，在state为ok时存在，获取主机的角色信息。
	 * <li> 'idstamp' 项：int类型，在state为ok时存在，为插入数据库的行id，用来查询之后的信息。
	 * </ul>
	 */
	public static final GmudRestUrl Join = new GmudRestUrl("Battle/Status/join");

	/**
	 * <h1>REST：主机在创建游戏之后检查对手是否加入。</h1>
	 * 所需参数：
	 * <ul>
	 * <li> uid 主机的UID
	 * <li> arena 所在擂台ObjectId。
	 * <li> idstamp 创建主机时的ID标识
	 * </ul>
	 * 响应：
	 * <ul>
	 * <li> 'state' 项：可能为'error'、'empty'或'ok'。
	 * <li> 'error' 项：在state为error时存在，为错误信息。
	 * <li> 'clientsv' 项：在state为ok时存在，获取对手的存档数据。
	 * </ul>
	 */
	public static final GmudRestUrl WaitForJoin = new GmudRestUrl("Battle/Status/askjoin");


	/**
	 * <h1>REST：主机发送信息。</h1>
	 * 所需参数：
	 * <ul>
	 * <li> uid String 主机的UID
	 * <li> arena String 所在擂台ObjectId
	 * <li> msg String 信息数据
	 * <li> hit int 命中信息 <br>特殊：hit=3的时候表示要接收对手动作
	 * <li> stateinfo JsonObject 双方状态数据
	 * </ul>
	 * 响应：
	 * <ul>
	 * <li> 'state' 项：可能为'error'或'ok'。
	 * <li> 'error' 项：在state为error时存在，为错误信息。
	 * </ul>
	 */
	public static final GmudRestUrl HostPostMsg = new GmudRestUrl("Battle/Status/host_post_msg");


	/**
	 * <h1>REST：对手获取主机信息。</h1>
	 * 所需参数：
	 * <ul>
	 * <li> uid String 客机的UID
	 * <li> arena String 所在擂台ObjectId
	 * <li> idstamp int 上次获得的ID标识
	 * </ul>
	 * 响应：
	 * <ul>
	 * <li> state String 可能为'error'、'empty'或'ok'。
	 * <li> error String 在state为error时存在，为错误信息。
	 * <li> idstamp int 在state为ok时存在，为最后一条信息的id。
	 * <li> msg JsonArray 在state为ok时存在，为符合条件的信息列表，按倒序排序。
	 * </ul>
	 */
	public static final GmudRestUrl ClientGetMsg = new GmudRestUrl("Battle/Status/client_get_msg");

	/**
	 * <h1>REST：主机结束战斗。</h1>
	 * 所需参数：
	 * <ul>
	 * <li> uid String 主机的UID
	 * <li> arena String 所在擂台ObjectId
	 * <li> result int 1为主机胜利，2为客机胜利，3为结果不明。
	 * </ul>
	 * 响应：
	 * <ul>
	 * <li> state String 可能为'error'或'ok'。
	 * </ul>
	 */
	public static final GmudRestUrl HostFinish = new GmudRestUrl("Battle/Status/host_finish");


	/**
	 * <h1>REST：客机脱离战斗。</h1>
	 * 所需参数：
	 * <ul>
	 * <li> uid String 客机的UID
	 * <li> arena String 所在擂台ObjectId
	 * </ul>
	 * 响应：
	 * <ul>
	 * <li> state String 可能为'error'或'ok'。
	 * </ul>
	 */
	public static final GmudRestUrl ClientDrop = new GmudRestUrl("Battle/Status/client_drop");

	/**
	 * <h1>REST：客机发送动作。</h1>
	 * 所需参数：
	 * <ul>
	 * <li> uid String 客机的UID
	 * <li> arena String 所在擂台ObjectId
	 * <li> action int 动作编号
	 * <li> tag int 动作附加内容编号
	 * </ul>
	 * 响应：
	 * <ul>
	 * <li> state String 可能为'error'或'ok'。
	 * </ul>
	 */
	public static final GmudRestUrl ClientAction = new GmudRestUrl("Battle/Status/client_action");

	/**
	 * <h1>REST：主机获取对手动作。</h1>
	 * 所需参数：
	 * <ul>
	 * <li> uid String 客机的UID
	 * <li> arena String 所在擂台ObjectId
	 * <li> idstamp int 上次获得的ID标识
	 * </ul>
	 * 响应：
	 * <ul>
	 * <li> state String 可能为'error'、'empty'或'ok'。
	 * <li> error String 在state为error时存在，为错误信息。
	 * <li> idstamp int 在state为ok时存在，为最后一条信息的id。
	 * <li> action int 在state为ok时存在，动作编号
	 * <li> tag int 在state为ok时存在，动作附加内容编号
	 * </ul>
	 */
	public static final GmudRestUrl GetClientAction = new GmudRestUrl("Battle/Status/ask_client_action");
}
